/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src.src;

/*
 * @author 
 * Alejandra Josue    carné 11496
 * Andrea Mendoza     carné 11331
 * Paulo Chang        carné 
 * Alejandra González carné 11220
 */
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Random;

/**
 * 
 * @author paulo
 */
public class randomArchivo {

    private File archivo;

    /**
     * 
     */
    public randomArchivo() {
    }

    private int randomNumber() {
        Random generator = new Random();
        return generator.nextInt();
    }

    /**
     * 
     */
    public void doPlainText() {
        try {
            //para direccionar donde se va a guardar el archivo la ruta
            //debe estar con slash normal no "\"                           
            archivo = new File("Archivo.txt");
        } catch (Exception ex) {
            System.out.println("no se pudo crear el archivo, revisar clase randomArray, método doPlaintText");
        }
    }

    /**
     * 
     * @param size
     */
    public void writePlainText(int size) {
        try {
            FileWriter Earchivo = new FileWriter(archivo);
            //despuÃ©s de crear el archivo, se llena 2000 nÃºmeros 
            //al azar generados por el mÃ©todo randomNumer()
            //entre cada nÃºmero se deja una linea
            for (int n = 0; n < size; n++) {
                Earchivo.write(Integer.toString(this.randomNumber()) + "\n");
            }
            Earchivo.close();
        } catch (Exception ex) {
        }
    }

    /**
     * 
     * @param size
     * @return
     */
    public Comparable[] readPlainText(int size) {
        Comparable[] numeros = new Comparable[size];
        try {
            FileReader Larchivo = new FileReader(archivo);
            BufferedReader br = new BufferedReader(Larchivo);
            //se crea un vector que tendrÃ¡ los nÃºmeros al azar 
            //para luego ser ordenados con los sort

            String actual = null;
            int i = 0;
            //se lee el archivo y cada linea(numero como string) que encuentra 
            //lo almacena en el vector numeros ya como entero
            //imprime en pantalla el numero que va agregando
            while ((actual = br.readLine()) != null) {
                numeros[i] = Integer.parseInt(actual);
                i++;
            }
            br.close(); //cierra la lectura del archivo
            Larchivo.close(); //cierra el archivo 

        } catch (Exception ex) {
        }
        return numeros;
    }
}
